#ifndef __ENCODER_H
#define __ENCODER_H

#include "rclcpp/rclcpp.hpp"

namespace encoder {



enum EncoderType
{
    CURTIS_ENCODER = 20,
    AIDIKE_ENCODER = 21
};


class Encoder
{
public:
	virtual ~Encoder() = 0;

	virtual void init() = 0;

	virtual uint64_t getValue() = 0;

	virtual double getRadValue() = 0;

	virtual int64_t getTurns() = 0;
    
    int             node_id_;
	int 			joint_index_;
	std::string 	joint_name_;
	std::string  	busname_;
	int  			max_value;
	double  		timestamp_;
};

}


#endif 
